/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Curriculums;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Cesar
 */

public class Proyectos {
    static String bd = "bitacoraelectronica";
    static String login = "root";
    static String password = "A74543";
    static String url = "jdbc:mysql://localhost/"+bd;
    
    private Object[] TiposProy;
    private Object[] ProyectosProf;
    private Object[] DescripcionesProf;
    private Object[] VigenciaProf;
    private Object[] RolesProf;
    
    Connection conn = null;
            
    public Proyectos(){
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url,login,password);
            if (conn != null) {
                System.out.println("Conexión a base de datos "+url+" ... Ok");
            }
        }
        catch (Exception e) {
                System.out.println(e);
                System.exit(0);
        } 
    }
    
    public void agregarProyectoProf(String usuario, String nombre, String rol){
        try{
            Statement s = conn.createStatement();
            s.executeUpdate("INSERT INTO participa_en VALUES ('"+nombre+"','"+usuario+"', '"+rol+"')" );
        }
        catch (Exception e) {
            System.out.println(e);
            System.exit(0);
        }
    }
    
    public void agregarProyecto(String nombre,String tipo, String descripcion, String fecha, String usuario, String rol){
         try{
            Statement s = conn.createStatement();
            s.executeUpdate("INSERT INTO proyecto VALUES ('"+nombre+"','"+tipo+"', '"+descripcion+"', '"+fecha+"')" );
            s.executeUpdate("INSERT INTO participa_en VALUES ('"+nombre+"','"+usuario+"','"+rol+"')" );
        }
        catch (Exception e) {
            System.out.println(e);
            System.exit(0);
        }
    }
    
    public void getProyectosProf(String usuario){
        List<String> list = new ArrayList<String>();
        List<String> list2 = new ArrayList<String>();
        List<String> list3 = new ArrayList<String>();
        List<String> list4 = new ArrayList<String>();
        List<String> list5 = new ArrayList<String>();
        try{
            Statement s = conn.createStatement();
            ResultSet rs = s.executeQuery("select * from proyecto p, participa_en e"
                    + " where e.UsernameProf = '"+usuario+"' AND e.NombreProyecto = p.Nombre");
            while (rs.next())
            {
                list.add( rs.getString("Nombre"));
                list2.add( rs.getString("Tipo"));
                list3.add( rs.getString("Descripcion"));
                list4.add( rs.getString("Vigencia"));
                list5.add(rs.getString("Rol"));   
            }
        }
        catch (Exception e) {
                System.out.println(e);
                System.exit(0);
        }
        ProyectosProf =  list.toArray();
        TiposProy = list2.toArray();
        DescripcionesProf = list3.toArray();
        VigenciaProf = list4.toArray();
        RolesProf = list5.toArray();
    }
    
    public Object[] GetProyectosProf(){
        return ProyectosProf;
    }
    
    public Object[] GetTiposProf(){
        return TiposProy;
    }
    
    public Object[] GetDescProf(){
        return DescripcionesProf;
    }
    
    public Object[] GetVigenciaProf(){
        return VigenciaProf;
    }
    
    public Object[] GetRolesProf(){
        return RolesProf;
    }
    
    public Object[] GetProyectosExistentes(){
        List<String> list = new ArrayList<String>();
        try{
            Statement s = conn.createStatement();
            ResultSet rs = s.executeQuery("select Nombre from Proyecto");
            while (rs.next())
            {
                list.add( rs.getString("Nombre"));
            }
        }
        catch (Exception e) {
                System.out.println(e);
                System.exit(0);
        }
        return list.toArray();
    }
    
    public void EliminarProyecto(String usuario){
        try{
            Statement s = conn.createStatement();
            s.executeUpdate("Delete From participa_en where usernameProf = '"+usuario+"'");
           
        }
        catch (Exception e) {
            System.out.println(e);
            System.exit(0);
        }
    }
}
